package br.edu.intec.exercicio01.classes;

import java.io.FileNotFoundException;

import javax.swing.JOptionPane;

/**
 * A Classe Garçon será a classe que irá operacionalizar
 * todo o atendimento ao cliente
 * */
public class Garcon {
	
	/**
	 * Aqui temos o método main - método executor
	 * */
	public static void main(String[] args) {
		
		try {
			//Aqui o garçon realiza o atendimento ao cliente
			Comida comida = atendeCliente();
			
			//Aqui o garço mostra o valor da conta
			if(comida != null)
				JOptionPane.showMessageDialog(null, "Senho, você pediu um "+comida.getDescricao()+"\n" +
					"E o valor é:"+comida.getValor());
			else 
				JOptionPane.showMessageDialog(null, "Você não pediu nenhum item do menu!");
			
		} catch (FileNotFoundException e) {
			//aqui no catch ele trata o erro para o cliente e para os desenvolvedores
			e.printStackTrace();
			System.out.println("Verifique o arquivo cardápio");
			JOptionPane.showMessageDialog(null, e.getMessage());
		} catch (Exception e) {
			//aqui no catch ele trata o erro para o cliente e para os desenvolvedores
			e.printStackTrace();
			System.out.println(e.getMessage());
			JOptionPane.showMessageDialog(null, "ERRO 500, desculpenos o transtorno! tente mais tarde");
		}	
	}
	
	/**
	 * Método Atender Cliente
	 * para atender ao cliente o Garço recorre aos recursos do Restaurante
	 * @throws Exception 
	 * */
	public static Comida atendeCliente() throws Exception{
		
		Restaurante restaurante = new Restaurante();
		Comida comida = null;
		
		//solicita ao restaurante o cardápio para mostrar ao cliente
		Integer opcao = restaurante.montaCardapio();
		
		//recebe a opção escolhida pelo usuário e calcula a conta
		comida = restaurante.calculaConta(opcao);
		
		return comida;
		
	}

}
